// tabs.js
Page({
  data: {
    tabs: ['待使用', '已使用', '已过期'],
    currentTab: 0,
    currentList: [
      // {
      //   couponId: "001", //优惠券id
      //   couponDesc: "普通洗鞋优惠券", //优惠券描述
      //   type: "自动扣减", //优惠券类型
      //   price: "9.9", //优惠价格
      //   deadLine: "2025-02-30 12:00:00", //截止日期
      //   tips: "限小程序内使用",
      //   status: "toUse" //枚举 toUse:待使用, used:已使用, outOfDate: 已过期
      // },
      // {
      //   couponId: "001", //优惠券id
      //   couponDesc: "普通洗鞋优惠券", //优惠券描述
      //   type: "自动扣减", //优惠券类型
      //   price: "19.9", //优惠价格
      //   deadLine: "2025-02-30 12:00:00", //截止日期
      //   tips: "限小程序内使用2",
      //   status: "used" //枚举 toUse:待使用, used:已使用, outOfDate: 已过期
      // },
      // {
      //   couponId: "001", //优惠券id
      //   couponDesc: "普通洗鞋优惠券", //优惠券描述
      //   type: "自动扣减", //优惠券类型
      //   price: "29.9", //优惠价格
      //   deadLine: "2025-02-30 12:00:00", //截止日期
      //   tips: "限小程序内使用3",
      //   status: "outOfDate" //枚举 toUse:待使用, used:已使用, outOfDate: 已过期
      // },
    ] // 当前显示的数据
  },

  onLoad: function () {
    this.getlist();
  },

  getlist: function (index) {
    wx.showLoading({
      title: '加载中',
    });

    this.setData({
      currentList: []
    });
    // 调用云函数获取地址列表 
    let status = 'toUse';
    if (index == 1) {
      status = 'used';
    }
    else if (index == 2) {
      status = 'expired';
    }
    Promise.all([this.getCoupons(status)])
    .then((values) => {
      wx.hideLoading();
      this.setData({
        currentList: values.flat()
      })
    })
  },
  getCoupons: function (status) {
    return new Promise((resolve, reject) => {
      const openId = wx.getStorageSync('openId');
      console.log(openId);
      wx.cloud.callFunction({
        name: 'xiaoBangCommonFunction',
        data: {
          getCouponsByUserIdRequest: {
            userId: openId,
            status: status // toUse | used | expired
          }
        },
        success: res => {
          console.log('getCouponsByUserId', res.result.data);
          const list = res.result.data.map(item => {
            item.status = status;
            return item;
          });
          resolve(list);
        },
        fail: err => {
          console.error('[云函数] [getCouponsByUserId] 调用失败', err)
          reject(err);
        }
      })
    })
  },
  switchTab: function (e) {
    const index = e.currentTarget.dataset.index;
    this.getlist(index)
    this.setData({
      currentTab: index,
      // currentList: this.data[`list${index + 1}`]
    });
  },

  onReachBottom: function () {
    this.getlist()
  },

  onPullDownRefresh: function () {
    // 模拟下拉刷新数据
    this.getlist()
    wx.stopPullDownRefresh(); // 停止下拉刷新动画
  }
});